package com.cykj.eurekaclient.service.inter;

import com.cykj.eurekaclient.bean.*;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;
import java.util.Map;

/**
 * @version 1.0
 * @author: 蜜糖
 * @date: 2021/9/19 9:07
 * @desc:
 */
public interface AdminService {
    int selUserAll();

    /*
        站点配置相关方法
     */

    int selectCount();

    List<StationInfo> findSiteInfo(RowBounds rowBounds,String name);

    boolean deleteRow(Integer id);

    boolean updateRow(StationInfo stationInfo, Long id);

    List<CityInfo> selCityExist(String cityStr,String district);

    int siteCount(String name);

    boolean insertSite(StationInfo stationInfo, String cityStr);

    List<StationInfo> findSiteNameInfo(String name);

    List<RouteInfo> getLineInfo(RowBounds rowBounds,String routeName);

    List<StationInfo> findSiteInfo();

    List<StationInfo> findSiteName();

    List<StationInfo> findLng();

    List<StationInfo> findLat();
    /*
        线路配置相关方法
     */

    int selectLineInfoCount();

    boolean deleteRouteRow(Integer id);

    boolean updateRouteRow(RouteInfo routeInfo, Long id);

    List<RouteInfo> findRoute(RowBounds rowBounds, String routeName);

    int routeCount(String routeName);

    boolean insertRoute(RouteInfo routeInfo);

    List<RouteInfo> findRouteName(String name);

    /*
        班车班次时刻表配置相关方法
     */

    List<RouteTimeNode> getBusTime(RowBounds rowBounds, String routeStr);

    int selectBusTimeCount(String routeStr);

    boolean deleteBusTimeRow(Integer id);

    List<RouteInfo> routeIdOptions();

    List<Parameter> timePOptions();

    List<Parameter> stateOptions();

    boolean insertBusTime(RouteTimeNode routeTimeNode);

    boolean updateBusTimeRow(String routeStr,String timeParagraphStr,String timeNode,Object state, Long id);

    /*
        城市信息配置相关方法
     */

    List<RouteTimeNode> getCityInfo(RowBounds rowBounds, String name);

    int selectCityInfoCount();

    boolean deleteCityInfoRow(Integer id);

    List<CityInfo> findCityName(RowBounds rowBounds, String name);

    int cityCount(String name);

    boolean insertCity(String name, String parentName,String district);

    List<CityInfo> findCityNameInfo(String name);

    boolean updateCityRow(String name, String parentName,String district, Long id);
    /*
        站点分配表配置相关方法
     */

    List<StationAssign> getTravelSite(RowBounds rowBounds,String routeStr);

    int selectTravelSiteCount(String routeStr);

    List<RouteInfo> routeNameOptions();

    List<StationInfo> stationOptions();

    boolean deleteTravelSiteRow(Integer id);

    boolean insertTravelSite(String routeStr,String stationStr,Long sequence);

    List<StationAssign> findTravelSiteName(String stationStr,Long sequence);

    boolean updateTravelSiteRow(String routeStr,String stationStr,Long sequence,Long id);

    List<FrontUserFlowRecord> findCollectMoney();

    List<FrontUserFlowRecord> collectMoneyRoute();

    int allTakeIn();


}
